<?php

namespace app\client\admin;

use app\logic\admin\L_adminRole;
//客户端层, 用来初始化数据,如规则默认数据等等
class C_adminRole
{
    public $L_adminRole;

    public function __construct()
    {
        $this->L_adminRole = new L_adminRole();
    }

    public function store($paramObj=""){
        $messages=array();
        $messages["name.require"]="请输入角色名称";
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages=$messages;       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult=$this->L_adminRole->store($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }

    public function update($paramObj=""){
        $messages=array();
        $messages["name.require"]="请输入角色名称";
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages=$messages;       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。


        $checkResult=$this->L_adminRole->update($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }

    public function info($paramObj=""){
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages="";       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult= app("S_Admin_adminRole")->info($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }
    public function delete($paramObj=""): array
    {
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages="";       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult= app("S_Admin_adminRole")->delete($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }
    public function listData($paramObj=""): array
    {
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages="";       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult= $this->L_adminRole->listData($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }
    public function getAll($paramObj=""): array
    {
        $paramsObj=paramsObj();  //获取空对象
        $paramsObj->mixed=1;        //数据混合,用户提交的数据,覆盖默认数据
        $paramsObj->messages="";       //设置消息提示
        $paramsObj->rules=array(     //设置逻辑层,用的验证规则
        );
        $paramsObj->dataDefault=array(  //设置默认信息
        );
        $paramsObj=blenderObject($paramsObj,$paramObj); //合并对象后面覆盖前面的数据，数组进行融合不完全覆盖。

        $checkResult= app("S_Admin_adminRole")->getAll($paramsObj);
        if($checkResult["error_no"]==0){
            return apiResult(true,"success",0,$checkResult["result"],$checkResult["extra"]);
        }else{
            return apiResult(false,$checkResult["error_msg"],$checkResult["error_no"]);
        }
    }

}